<?php

// 成绩管理控制器

namespace Home\Controller;
use Think\Controller;


class ScoreController extends PublicController {

	// 查询成绩
	public function showList() {

    	// 两种情况
    	// 1 学生查看 , 只能查看本班级成绩信息
    	// 2 教师查看 , 可以查看所有班级成绩信息

    	$role_id = session('role_id');


    	if( $role_id == 1 ) { // 教师
    		$class_id = I('get.class_id', 1);

	    	// 查询班级所有学生信息
	    	$student_info = M('student')->field('id,name')->where('class_id = %d', $class_id)->select();



	    	$this->assign('student_info', $student_info); // 把所有学生信息输出到模板
	    	$this->assign('class_id', $class_id);
    	} else { // 学生
	    	$id = session('id');
	    	// 通过学生ID值 查询班级ID信息
	    	$class_id = M('student')->field('class_id')->find($id)['class_id'];

	    	// 查询本班级所有学生信息
	    	$student_info = M('student')->field('id,name')->where('class_id = %d', $class_id)->select();

	    	$this->assign('student_info', $student_info); // 把所有学生信息输出到模板
	    }

    	// 班级信息
    	$class_info = M('class')->select();

		$course_info = M('course')->select(); // 查询所有课程科目

		$term_id = I('get.term_id', 1);

	    // 查询所有学期信息
    	$term_info = M('term')->select();

	    $this->assign('term_id', $term_id);
    	$this->assign('term_info', $term_info);
		$this->assign('course_info', $course_info);
    	$this->assign('class_info', $class_info);
        $this->assign('role_id', $role_id);
    	$this->display();
	}

	// 学生成绩录入
	public function addInfo() {
		$class_id = I('get.class_id', 1); // 从地址栏获取班级ID, 默认为1
		$course_id = I('get.course_id', 1); // 从地址栏获取课程ID, 默认为1
		$term_id = I('get.term_id', 1); // 

		// 通过班级ID查询出本班所有学生资料
		$student_info = M('student')->field('id,name')->where('class_id = %d', $class_id)->select();


		if( IS_POST ) {
			// 接收前端发送过来的数据
			$data = I('post.');
			if( array_key_exists('student_id', $data) && !empty($data['student_id'])
				&& array_key_exists('class_id', $data) && !empty($data['class_id'])
				&& array_key_exists('course_id', $data) && !empty($data['course_id'])
				&& array_key_exists('score', $data) && !empty($data['score'])
				&& array_key_exists('term_id', $data) && !empty($data['term_id']) ) {


				if( M('score')->where('student_id = %d and course_id = %d and term_id = %d', array($data['id'], $data['course_id'], $data['term_id']))->find() ) { // 查询到已存在学生该科目成绩信息,则修改
					$rs = M('score')->where('student_id = %d and course_id = %d and term_id = %d', array($data['id'], $data['course_id'], $data['term_id']))->save($data);
				} else {
					$rs = M('score')->add($data);
				}

				if( $rs ) {
					exit("SUCCESS");
				} else {
					exit("FAIL");
				}

			}
			exit("FAIL");
		}


		$class_info = M('class')->select(); // 查询班级信息
		$course_info = M('course')->select(); // 查询所有课程科目
		$term_info = M('term')->select(); // 查询所有课程科目

		$this->assign('class_id', $class_id);
		$this->assign('course_id', $course_id);
		$this->assign('class_info', $class_info);
		$this->assign('term_id', $term_id);
		$this->assign('course_info', $course_info);
		$this->assign('student_info', $student_info);
		$this->assign('term_info', $term_info);
		$this->display();
	}

}